﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <assert.h>
#include <stdbool.h>
#include <stdlib.h>
// 原题连接：https://leetcode.cn/problems/maximum-depth-of-binary-tree/
/*
题目描述：
给定一个二叉树，找出其最大深度。
二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
说明: 叶子节点是指没有子节点的节点。
示例：
给定二叉树 [3,9,20,null,null,15,7]，

    3
   / \
  9  20
    /  \
   15   7
返回它的最大深度 3 。
*/

// 开始解题：
// 方法1——分治法
// 先写一个函数，求出两个整数的较大值
int max(int x, int y) {
    return x > y ? x : y;
}
int maxDepth(struct TreeNode* root) {
    if (NULL == root) {
        return 0;
    }
    return max(maxDepth(root->left), maxDepth(root->right)) + 1;
}